はてなキーワード: OFFICEとは
大学4年で単位取りきって就活も終わってるため、3月末までの超長期休暇が確定したんだけどおすすめのやることを教えてくれ
今考えてるのは国内旅行×3と海外旅行×2、田舎の祖母の家へ2週間滞在、気になる本を片っ端から読む、趣味に没頭する、何かしらの資格や勉強をする、健康関連のメンテナンスをする、などを考えてるけど時間があるからこそ出来るおすすめのやることがもっと知りたい。バイトは4月になったら否が応でも働くのに今労働する意味が見い出せないので必要最低限のみの予定。(新卒として必要な経費は自分で賄える位の貯金があり、本当に必要なものはある程度親も助けてくれる予定)
また人事にやるべきことを聞いても、残りの期間を楽しんでくださいに加えてもし触ったことなければOfficeに慣れとくと良いとの返事で入社までに必要な資格とかも特にない。入社後に必須で取らされる資格があるそうなので先取りでそれを学ぶのもありかなとは思ってる。ちなみに首都圏住みで内定を貰ってるのは営業職、実家を出るかは検討中。
いま、「電話交換手」も「タイピスト」も居ないように、なくなっていく仕事があるのは正しいと思う。
ただ「いま生成AI勉強して使えるようになったら、誰にも負けないスキルが身につく!」みたいにあおってくる専門家(情報商材屋)が多くいるけど・・・賛同できない。
でも彼らが言う「プロンプト工夫して生成AI使いこなす」って、せいぜい「パソコンでOffice使えます」とか「Google検索できる」みたいな程度。
いま「Google検索できますよ」とかいっても「で?」としか思われない。
もちろん、その中でGoogleの検索アルゴリズム理解してSEO対策できる人はいるし、特別なリサーチ術をもって優位性を出せる人もいるだろうけど、一握り。
ロックに条件持たせる
やりたいことはできてるように見えるが、うーんしんどい
# Entity Relation Diagram
# ```mermaid
# ---
# title: Rental Office example
# ---
# erDiagram
# OFFICE ||--|{ ROOM : x
# OFFICE {
# number office_id
# }
# ROOM {
# number office_id
# number room_id
# }
# ROOM ||--|{ SCHEDULE : x
# SCHEDULE {
# number room_id
# datetime start_at
# datetime end_at
# }
# OFFICE ||--|{ BUSINESS_HOUR : x
# BUSINESS_HOUR {
# number office_id
# enum week_of_day
# datetime start_at
# datetime end_at
# }
# ```
# Directed Acyclic Graph
#
# ```mermaid
# graph LR
# A[OFFICE] --> B[ROOM]
# B --> C[SCHEDULE]
# A[OFFICE] --> D[BUSINESS_HOUR]
# D --> C
# A --> C
# ```
# 基底クラス: EntityLock
class EntityLock
attr_accessor :entity_name, :entity_locked, :attribute_locks
def initialize(entity_name)
@entity_name = entity_name
@entity_locked = false # エンティティ全体のロック状態を保持
@attribute_locks = {} # IDに対するロックを管理するハッシュ
end
def lock_entity
@entity_locked = true
puts "Entity '#{@entity_name}' is now locked."
end
def unlock_entity
@entity_locked = false
puts "Entity '#{@entity_name}' is now unlocked."
end
def lock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && !@attribute_locks[entity_id]
@attribute_locks[entity_id] = true
puts "#{@entity_name} with ID '#{entity_id}' is now locked."
end
end
def unlock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
@attribute_locks.delete(entity_id)
puts "#{@entity_name} with ID '#{entity_id}' is now unlocked."
end
end
def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked
# 次に特定のIDがロックされているかチェック
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
return true
end
# ロックされていなければfalseを返す
false
end
end
# 子クラス: OfficeLock, RoomLock, ScheduleLock
class OfficeLock < EntityLock
def initialize
super("Office")
end
end
class RoomLock < EntityLock
def initialize
super("Room")
end
end
class ScheduleLock < EntityLock
def initialize
super("Schedule")
end
end
# 子クラス: BusinessHourLock
class BusinessHourLock < EntityLock
def initialize
super("BusinessHour")
@attribute_locks = [] # BusinessHour用のロックを配列で管理
end
def lock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at && end_at
@attribute_locks << [start_at, end_at]
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now locked."
end
end
def unlock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if @attribute_locks.include?([start_at, end_at])
@attribute_locks.delete([start_at, end_at])
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now unlocked."
end
end
def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked
# 次に特定の時間範囲がロックされているかチェック
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at && end_at
@attribute_locks.each do |(locked_start, locked_end)|
if locked_start <= start_at && end_at <= locked_end
return true
end
end
end
# ロックされていなければfalseを返す
false
end
end
# TreeNodeクラス
class TreeNode
attr_accessor :name, :children, :parents, :lock
def initialize(name, lock)
@name = name
@children = []
@parents = [] # 複数の親ノードを保持する配列
@lock = lock # TreeNodeにロックを持たせる
end
def add_child(child_node)
child_node.parents << self # 子ノードにこのノードを親として追加
@children << child_node
end
def display(level = 0)
indent = " " * (level * 4)
puts "#{indent}#{@name}"
@children.each { |child| child.display(level + 1) }
end
def has_dependency
return false if @parents.empty?
@parents.each do |parent|
puts "#{@name} is dependent on #{parent.name}"
return true
end
@parents.any?(&:has_dependency)
end
def locked?(attributes = {})
# 自身がロックされているか確認
return true if @lock.locked?(attributes)
# 親ノードがロックされているか再帰的に確認
@parents.any? { |parent| parent.locked?(attributes) }
end
end
# 木構造の組み立て
# ロックオブジェクトの作成
office_lock = OfficeLock.new
room_lock = RoomLock.new
schedule_lock = ScheduleLock.new
business_hour_lock = BusinessHourLock.new
# ノードの作成
office_node = TreeNode.new("Office", office_lock)
room_node = TreeNode.new("Room", room_lock)
schedule_node = TreeNode.new("Schedule", schedule_lock)
business_hour_node = TreeNode.new("BusinessHour", business_hour_lock)
# ノード間の依存関係の設定
office_node.add_child(room_node) # Office -> Room
room_node.add_child(schedule_node) # Room -> Schedule
office_node.add_child(business_hour_node) # Office -> BusinessHour
business_hour_node.add_child(schedule_node) # BusinessHour -> Schedule
# 木構造の表示
office_node.display
# ロックの確認
puts "Case 1. Office全体がロックされた場合"
puts "Is office_node locked? #{office_node.locked?({})}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # false
office_lock.lock_entity
puts "Is office_node locked? #{office_node.locked?({})}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # true
office_lock.unlock_entity
puts "Case 2. Room id:1 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.lock({ "room_id" => 1 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.unlock({ "room_id" => 1 })
puts "Case 3. BusinessHour start_at:0 end_at:5 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.lock({ "start_at" => 0, "end_at" => 5 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.unlock({ "start_at" => 0, "end_at" => 5 })
で・・・できたけど木の組み立てがしんどすぎるー
class TreeNode:
def __init__(self, name, attributes=None):
self.name = name
self.attributes = attributes or {}
self.children = []
def add_child(self, child_node):
self.children.append(child_node)
def display(self, level=0):
indent = " " * level
print(f"{indent}{self.name} {self.attributes}")
for child in self.children:
child.display(level + 1)
def has_dependency(self):
# ルートノードや属性を持たないノードは依存関係を判定しない
if not self.children:
return False
for child in self.children:
# 子ノードがBusinessHourかScheduleかをチェック
if "start_at" in child.attributes and "end_at" in child.attributes:
child_start = child.attributes["start_at"]
child_end = child.attributes["end_at"]
# 現在のノードがBusinessHourで、子がScheduleの場合
if "start_at" in self.attributes and "end_at" in self.attributes:
self_start = self.attributes["start_at"]
self_end = self.attributes["end_at"]
if self_start <= child_start and self_end >= child_end:
print(f"{child.name} (start_at: {child_start}, end_at: {child_end}, room_id: {child.attributes['room_id']}) is dependent on {self.name} (start_at: {self_start}, end_at: {self_end})")
else:
print(f"{child.name} (start_at: {child_start}, end_at: {child_end}, room_id: {child.attributes['room_id']}) is NOT dependent on {self.name} (start_at: {self_start}, end_at: {self_end})")
# 現在のノードがRoomで、子がScheduleの場合
elif self.name.startswith("Room"):
print(f"{child.name} (start_at: {child_start}, end_at: {child_end}, room_id: {child.attributes['room_id']}) is dependent on Room {self.name[-1]}")
else:
child.has_dependency()
# 子ノードが属性を持たない場合、再帰的に依存関係をチェック
else:
child.has_dependency()
# ノードの作成
root = TreeNode("Root")
office_node = TreeNode("Office")
# Roomノードの作成
room1_node = TreeNode("Room1")
room2_node = TreeNode("Room2")
# BusinessHourノードの作成
business_hour1_node = TreeNode("BusinessHour1", {"start_at": 9, "end_at": 12})
business_hour2_node = TreeNode("BusinessHour2", {"start_at": 13, "end_at": 17})
# Scheduleノードの作成
schedule1_node = TreeNode("Schedule1", {"start_at": 10, "end_at": 11, "room_id": 1})
schedule2_node = TreeNode("Schedule2", {"start_at": 14, "end_at": 15, "room_id": 1})
schedule3_node = TreeNode("Schedule3", {"start_at": 10, "end_at": 11, "room_id": 2})
schedule4_node = TreeNode("Schedule4", {"start_at": 14, "end_at": 15, "room_id": 2})
# 木構造の構築
root.add_child(office_node)
office_node.add_child(room1_node)
office_node.add_child(room2_node)
office_node.add_child(business_hour1_node)
office_node.add_child(business_hour2_node)
# Room1にSchedule1, Schedule2を追加
room1_node.add_child(schedule1_node)
room1_node.add_child(schedule2_node)
# Room2にSchedule3, Schedule4を追加
room2_node.add_child(schedule3_node)
room2_node.add_child(schedule4_node)
# BusinessHour1にSchedule1, Schedule3を追加
business_hour1_node.add_child(schedule1_node)
business_hour1_node.add_child(schedule3_node)
# BusinessHour2にSchedule2, Schedule4を追加
business_hour2_node.add_child(schedule2_node)
business_hour2_node.add_child(schedule4_node)
# 木構造の表示
root.display()
# 依存関係のチェック
office_node.has_dependency()
room1_node.has_dependency()
room2_node.has_dependency()
business_hour1_node.has_dependency()
business_hour2_node.has_dependency()
Root {}
Office {}
Room1 {}
Schedule1 {'start_at': 10, 'end_at': 11, 'room_id': 1}
Schedule2 {'start_at': 14, 'end_at': 15, 'room_id': 1}
Room2 {}
Schedule3 {'start_at': 10, 'end_at': 11, 'room_id': 2}
Schedule4 {'start_at': 14, 'end_at': 15, 'room_id': 2}
BusinessHour1 {'start_at': 9, 'end_at': 12}
Schedule1 {'start_at': 10, 'end_at': 11, 'room_id': 1}
Schedule3 {'start_at': 10, 'end_at': 11, 'room_id': 2}
BusinessHour2 {'start_at': 13, 'end_at': 17}
Schedule2 {'start_at': 14, 'end_at': 15, 'room_id': 1}
Schedule4 {'start_at': 14, 'end_at': 15, 'room_id': 2}
Schedule1 (start_at: 10, end_at: 11, room_id: 1) is dependent on Room 1
Schedule2 (start_at: 14, end_at: 15, room_id: 1) is dependent on Room 1
Schedule3 (start_at: 10, end_at: 11, room_id: 2) is dependent on Room 2
Schedule4 (start_at: 14, end_at: 15, room_id: 2) is dependent on Room 2
Schedule1 (start_at: 10, end_at: 11, room_id: 1) is dependent on BusinessHour1 (start_at: 9, end_at: 12)
Schedule3 (start_at: 10, end_at: 11, room_id: 2) is dependent on BusinessHour1 (start_at: 9, end_at: 12)
Schedule2 (start_at: 14, end_at: 15, room_id: 1) is dependent on BusinessHour2 (start_at: 13, end_at: 17)
Schedule4 (start_at: 14, end_at: 15, room_id: 2) is dependent on BusinessHour2 (start_at: 13, end_at: 17)
Schedule1 (start_at: 10, end_at: 11, room_id: 1) is dependent on Room 1
Schedule2 (start_at: 14, end_at: 15, room_id: 1) is dependent on Room 1
Schedule3 (start_at: 10, end_at: 11, room_id: 2) is dependent on Room 2
Schedule4 (start_at: 14, end_at: 15, room_id: 2) is dependent on Room 2
Schedule1 (start_at: 10, end_at: 11, room_id: 1) is dependent on BusinessHour1 (start_at: 9, end_at: 12)
Schedule3 (start_at: 10, end_at: 11, room_id: 2) is dependent on BusinessHour1 (start_at: 9, end_at: 12)
Schedule2 (start_at: 14, end_at: 15, room_id: 1) is dependent on BusinessHour2 (start_at: 13, end_at: 17)
Schedule4 (start_at: 14, end_at: 15, room_id: 2) is dependent on BusinessHour2 (start_at: 13, end_at: 17)
ここまで過激じゃないけど、何度同じことを注意しても改善しないし注意するにも億劫になるからそのうち最低限の接触しかしたくなくなる。
どちらかというとこの職場のBぽい
https://anond.hatelabo.jp/20230830203626
数年経たないとこういう人間って辞めないんだなぁ。
うちのも早く辞めてどこか行ってほしい。企業からクビには出来ないから自発的に辞めてもらうしかないんだよね。
個人的には業界未経験で履歴書詐欺(Officeソフト使えるって書いてたくせに全く使えない)だけど帰国子女で外資系から転職してきたおかげで
ベースの給与が良いのが腹立つと言うか、周りのメンバーのモチベーションがそれで下がっている。
100万でも年収分でもいいからパッケージ払ってお引き取り願って貰いたいよ。日系の中小企業にわざわざ転職してくる帰国子女の元外資系マンって尽く使えねぇわ。
でもなぜかそういう人間がうちに来るんだよな。来るな。
泣きそうになる。
ごっこ遊びみたいなセキュリティ対策で職場の大部分でスマホ使用禁止。
近場の安全圏がロッカールームぐらいしかないからそこで必死になってGPTにOfficeの使い方を聞いてる。
インターネット回線も封印されているからネット上にある公式ヘルプさえ見れねえ。
自衛隊が「セキュリティ権限で縛りプレイしてたけど現場ガン無視で進めたら皆無視してたわwwwwwメンゴメンゴwwww俺、幕僚長やめっから!あと4946~~~~」とかやってるの見て全然他人事に思えなかった。
関わらないようにしてるけどシャドーITガンガンしまくってソフト入れまくったり家からディスプレイや周辺機器持ち込んでるやつも結構いる。
スマホ使うなって言われてるのに席で堂々とスマホ弄って顧客とやり取りしてるのもおる。
注意しても逆ギレされるだけだろうから、完全に「俺は見たこともないし、見たとしても特別に許可を取っていると思いこんでいた」で通す気でいる。
なんなんだろうなあ。
破りまくってる馬鹿がそこら中にいるのに、部長クラスもセキュリティ担当もガン無視だもんなあ。
アホらしくて気が滅入る。
LibreOffice良いと思うし、個人ならこれで十分も超わかる
でも、あえてLibreOfficeを選択せず、わざわざOfficeを選ぶ、
パソコン新調しようかと思っていろいろ見て回ってたら最新世代のcore i7積んでるのに内蔵グラボってPCがけっこうあるんだけど、これってCPUの持ち腐れにならないか?
グラボ無しじゃゲームも動画編集もできないからCPUだけぶん回す用途になるだろうけど、そんな用途はあまり思い浮かばない
ネット見たりOffice使ったりするだけならそもそもそんな高性能なCPUいらないだろうし
一体なにを想定したPCなんだ
ある企業の担当者が「履歴書をPCで作成して、PDF形式でメールに添付」という応募方法で求人募集をしたら「自称PC・オフィス使えます系の応募が全滅して負担が減った」のだという。
それぞれの投稿に対し、Xユーザーからの感想として「事前の実技試験としてありかも」「これだけで大きなフィルタリングになるのか」と納得する声がほとんどだった。
企業側としては、業務でパソコンやOffice系ソフトを使うためにこのような条件にしたという。それまでは実際に使いこなせない応募者や採用者がいて苦労していたことが伺える。
元投稿者は「PCとかめんどくさい!と思うならお互いのためにも他の会社でいい」「覚えるぞという気持ちがあればいい、仕事探しているけど何も学びたくないという方だけは…」とも述べており、採用活動におけるマッチングの大切さや、正直に利用経験を伝えることの重要性が感じられる話だった。
若い世代はパソコンが使えない?
採用側の声についてはこんな話もある。人を雇う時に「『パソコン使える人』とすると60%くらいが脱落、特定のソフトの利用経験まで含めるともっと減る」と述べたXユーザーの投稿が話題になった。
実はパソコンが使えない人、そもそもパソコンを持っていない人は決して珍しくない。その理由がわかる一例として、幼稚園でPTA活動をしているXユーザーが「パソコンは使えないですがスマホなら」と言われて戸惑ったという投稿を紹介しよう。
投稿によると「パソコンが使えない」と言ったお母さんたちは20代〜30代だという。これに対して別のユーザーから「パソコンが使える世代はほとんど今の30代後半から40代だけ」という指摘が上がった。
ネットで見る謎の人C「社内のファイルサーバーのSharePointは移行終わってるよ」 ← うんうん
ネットで見る謎の人C「社内システムの認証基盤はAAD使ってるよ」 ← うんうん
ネットで見る謎の人C「まだAADに完全移行はできていないけど、全端末Intuneで管理してるよ」 ← うんうん
ネットで見る謎の人C「条件付きアクセスの運用も始まってるよ」 ← うんうん
ネットで見る謎の人C「M365Apps を社外で使うにはVPNが必要」 ←?! 🫨
anond:20240629094425、anond:20240629093852 anond:20240629095434 anond:20240629111451
ネットで見る謎の人C「社内のファイルサーバーのSharePointは移行終わってるよ」 ← うんうん
ネットで見る謎の人C「社内システムの認証基盤はAAD使ってるよ」 ← うんうん
ネットで見る謎の人C「まだAADに完全移行はできていないけど、全端末Intuneで管理してるよ」 ← うんうん
ネットで見る謎の人C「条件付きアクセスの運用も始まってるよ」 ← うんうん
ネットで見る謎の人C「M365Apps を社外で使うにはVPNが必要」 ←?! 🫨
ネットで見る謎の人C「社内のファイルサーバーのSharePointは移行終わってるよ」 ← うんうん
ネットで見る謎の人C「社内システムの認証基盤はAAD使ってるよ」 ← うんうん
ネットで見る謎の人C「まだAADに完全移行はできていないけど、全端末Intuneで管理してるよ」 ← うんうん
ネットで見る謎の人C「条件付きアクセスの運用も始まってるよ」 ← うんうん
ネットで見る謎の人C「M365Apps を社外で使うにはVPNが必要」 ←?! 🫨